/**
 * Copyright &copy; 2015-2020 <a href="http://www.jeeplus.org/">JeePlus</a> All rights reserved.
 */
package com.jeeplus.modules.fee.entity;

import com.jeeplus.modules.fee.entity.Receivables;
import com.jeeplus.modules.fee.entity.Detail;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.jeeplus.modules.fee.entity.Agreement;
import com.jeeplus.modules.fee.entity.Type;
import com.jeeplus.modules.sys.entity.Office;

import com.jeeplus.core.persistence.DataEntity;
import com.jeeplus.common.utils.excel.annotation.ExcelField;

/**
 * 应收结算单明细表Entity
 * @author weisong
 * @version 2017-09-22
 */
public class ReceivablesDetail extends DataEntity<ReceivablesDetail> {
	
	private static final long serialVersionUID = 1L;
	private Receivables feeReceivables;		// 应收账款
	private Detail feeDetail;		// 费用明细
	private Date busyDate;		// 业务日期
	private Agreement feeAgreeName;		// 计费协议
	private Type feeType;		// 费用类型
	private Double payMoney;		// 计费金额
	private Double clearingMoney;		// 结算金额
	private Office logistics;		// 物流组织
	
	public ReceivablesDetail() {
		super();
	}

	public ReceivablesDetail(String id){
		super(id);
	}

	@ExcelField(title="应收账款", align=2, sort=6)
	public Receivables getFeeReceivables() {
		return feeReceivables;
	}

	public void setFeeReceivables(Receivables feeReceivables) {
		this.feeReceivables = feeReceivables;
	}
	
	@ExcelField(title="费用明细", align=2, sort=7)
	public Detail getFeeDetail() {
		return feeDetail;
	}

	public void setFeeDetail(Detail feeDetail) {
		this.feeDetail = feeDetail;
	}
	
	@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
	@ExcelField(title="业务日期", align=2, sort=8)
	public Date getBusyDate() {
		return busyDate;
	}

	public void setBusyDate(Date busyDate) {
		this.busyDate = busyDate;
	}
	
	@ExcelField(title="计费协议", fieldType=Agreement.class, value="", align=2, sort=9)
	public Agreement getFeeAgreeName() {
		return feeAgreeName;
	}

	public void setFeeAgreeName(Agreement feeAgreeName) {
		this.feeAgreeName = feeAgreeName;
	}
	
	@ExcelField(title="费用类型", align=2, sort=10)
	public Type getFeeType() {
		return feeType;
	}

	public void setFeeType(Type feeType) {
		this.feeType = feeType;
	}
	
	@ExcelField(title="计费金额", align=2, sort=11)
	public Double getPayMoney() {
		return payMoney;
	}

	public void setPayMoney(Double payMoney) {
		this.payMoney = payMoney;
	}
	
	@ExcelField(title="结算金额", align=2, sort=12)
	public Double getClearingMoney() {
		return clearingMoney;
	}

	public void setClearingMoney(Double clearingMoney) {
		this.clearingMoney = clearingMoney;
	}
	
	@ExcelField(title="物流组织", fieldType=Office.class, value="logistics.name", align=2, sort=13)
	public Office getLogistics() {
		return logistics;
	}

	public void setLogistics(Office logistics) {
		this.logistics = logistics;
	}
	
}